﻿using System;
using System.Collections.Generic;
using RoketSolutions.SP2010.Infrostructure.Data.Entities;

namespace RoketSolutions.SP2010.Infrostructure.Data.Repositories.Interfaces
{
    public interface IListRepository<TEntity> : IRepository
        where TEntity : ListEntityBase
    {
        IList<TEntity> Find(Func<TEntity, bool> filter);

        TEntity FindSingle(Func<TEntity, bool> filter);

        TEntity FindById(int itemId);

        IList<TEntity> FindAll();

        TEntity CreateNew();
    }
}